package db;


import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JComboBox;

import laguntzaileak.Bezerolag;

public class BezeroKud {
	public static int lortupasadankutxak(int idBeze) {
		
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		// aurtengo urtea;
		// ez da batun sortu behar dut bd berri bat!!
		String k = "SELECT SUM(kutxak) FROM BezeroariSaldu WHERE  idBezeroa= '" + idBeze + "'and  Year(data)=YEAR(now())-1";
		ResultSet rs = dbk.execSQL(k);
		int kutxak = 0;
		
		// 948637005
		try {
			while (rs.next()) {
				kutxak = rs.getInt(1);
				

			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}

		return kutxak;
	}

	public static void sartuBezeroa(Bezerolag bezlag) {
		

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "INSERT INTO Bezeroa(izena,nif,telefono,kutxak) VALUES ('"

		+ bezlag.getIzena() + "','" + bezlag.getNif() + "','"+ bezlag.getTelefonoa() + "','"
				+ 0 + "')";

		dbk.execSQL(k);
	}
/*
		String k1 = "SELECT * FROM Bezeroa WHERE izena= '" + bezlag.getIzena()
				+ "' and nif= '" + bezlag.getNif() + "' and telefono= '"
				+ bezlag.getTelefonoa() + "'  ";

		ResultSet rs = dbk.execSQL(k1);
		int id = 0;
		try {
			if (rs.next()) {
				id = rs.getInt("idBezeroa");
			
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		

	
	}
*/
	public static int lortuaurtengokutxak(int idBeze) {
				DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		
		String k = "SELECT SUM(kutxak) FROM BezeroariSaldu WHERE  idBezeroa= '" + idBeze + "'and  Year(data)=YEAR(now())";
		ResultSet rs = dbk.execSQL(k);
		int kutxak = 0;
		// "SELECT SUM(kutxak) FROM BezeroariSaldu WHERE YEAR(data)=YEAR(now()"
		//		+ "' and idBezeroa= '" + idBeze + "' ";
		// 948637005
		try {
			while (rs.next()) {
				kutxak = rs.getInt(1);
				

			}
		} catch (SQLException e) {
		
			e.printStackTrace();
		}
		
		return kutxak;
	}

	public static Bezerolag lortuDatuak(int idBeze) {
	
		Bezerolag lag = new Bezerolag(null, null, 0);
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "SELECT * FROM Bezeroa WHERE idBezeroa='" + idBeze + "'";
		ResultSet rs = dbk.execSQL(k);
		try {
			if (rs.next()) {
				String izena = rs.getString("izena");
				lag.setIzena(izena);
				String nif = rs.getString("nif");
				lag.setNif(nif);
				int telefono = rs.getInt("telefono");
				lag.setTelefonoa(telefono);
			}
		} catch (SQLException e) {
		
			e.printStackTrace();
		}
		return lag;
	}

	public static ResultSet kargatu() {
	
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "SELECT * FROM Bezeroa ORDER BY idBezeroa ASC";
		ResultSet rs = dbk.execSQL(k);
		return rs;
	}

	public static void ezabatu(int i) {
	
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "DELETE FROM Bezeroa WHERE idBezeroa= '"
				+ i + "'  "; 
		dbk.execSQL(k);
	}

	public static int lortuIdBezeroa(String izena, String nif, int tfno) {

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "SELECT * FROM Bezeroa WHERE izena= '" +izena
				+ "' and nif= '" + nif+ "' and telefono= '"
				+ tfno + "'  ";
		ResultSet rs = dbk.execSQL(k);
		int id = 0;
		try {
			if (rs.next()){
				id = rs.getInt("idBezeroa");
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		return id;
	}

	

	public static void kargatuComboBox(JComboBox combo) {
	

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 = " SELECT * FROM Bezeroa ";

		ResultSet rs = dbk.execSQL(k1);

		String izena= null;

		try {
			while (rs.next()) {
				izena = rs.getString("izena");

				combo.addItem(izena);

			}

		} catch (SQLException e) {

			e.printStackTrace();
		}

		combo.setSelectedIndex(-1);
	}

	public static void salduBezeroari(int idbez, String eguna, int kutxak) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "INSERT INTO BezeroariSaldu(idBezeroa,kutxak,data) VALUES ('"

		+ idbez +  "','" + kutxak + "', (STR_TO_DATE('"+eguna+"','%d-%m-%Y')))";

		ResultSet rs = dbk.execSQL(k);
		int i = lortukutxakguztira(idbez);
		int kutxa = kutxak + i;
		String k1= " UPDATE Bezeroa SET kutxak='" + kutxa + "' WHERE idBezeroa ='" + idbez + "'";
		dbk.execSQL(k1);
	}

	public static int lortuBezeroIDizenaemanda(String bez) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k = "SELECT * FROM Bezeroa WHERE izena= '"
				+ bez + "'  "; 
		ResultSet rs = dbk.execSQL(k);
		int id=0;
		try {
			if (rs.next()){
				id = rs.getInt("idBezeroa");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return id;
	}

	

	public static int lortukutxakguztira(int id) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();

		String k = "SELECT * FROM Bezeroa WHERE idBezeroa= '"
				+ id + "'  "; 
		ResultSet rs = dbk.execSQL(k);
		int kutxak = 0;
	
		try {
			if (rs.next()) {
				kutxak = rs.getInt("kutxak");
				

			}
		} catch (SQLException e) {
		
			e.printStackTrace();
		}
	
		return kutxak;
	}

	
	
	public static void eguneratuOrdainduak(int id, int kutxak) {

		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		int i = lortuordainduta(id);
		int ordaindu =kutxak +i;
		String k= " UPDATE Bezeroa SET ordainduta='" + ordaindu + "' WHERE idBezeroa ='" + id + "'";

		
		dbk.execSQL(k);
	}

	public static int lortuordainduta(int id) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();

		String k = "SELECT * FROM Bezeroa WHERE idBezeroa= '"
				+ id + "'  "; 
		ResultSet rs = dbk.execSQL(k);
		int kutxak = 0;
	
		try {
			if (rs.next()) {
				kutxak = rs.getInt("ordainduta");
				

			}
		} catch (SQLException e) {
		
			e.printStackTrace();
		}
	
		return kutxak;
	}
}
